package com.springboot.dto;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 商品管理DTO（用于上架、修改商品）
 */
@Data
public class ProductManageDTO {

    /**
     * 商品ID（新增时为空，修改时必填）
     */
    private Integer productId;

    /**
     * 商品名称
     */
    private String productName;

    /**
     * 所属分类ID（关联category表）
     */
    private Integer categoryId;

    /**
     * 基础价
     */
    private BigDecimal defaultPrice;

    /**
     * 主图URL
     */
    private String mainImage;

    /**
     * 详情图URL（逗号分隔）
     */
    private String subImages;

    /**
     * 商品详情（HTML或富文本）
     */
    private String detail;

    /**
     * 颜色列表
     */
    private List<ColorInfo> colors;

    /**
     * 尺寸列表
     */
    private List<SizeInfo> sizes;

    /**
     * SKU信息列表
     */
    private List<SkuInfo> skus;

    @Data
    public static class ColorInfo {
        /**
         * 颜色名称
         */
        private String colorName;

        /**
         * 颜色图片
         */
        private String image;

        /**
         * 排序
         */
        private Integer sort;
    }

    @Data
    public static class SizeInfo {
        /**
         * 尺码名称
         */
        private String sizeName;

        /**
         * 排序
         */
        private Integer sort;
    }

    @Data
    public static class SkuInfo {
        /**
         * 颜色索引（对应 colors 数组中的下标）
         */
        private Integer specColor;

        /**
         * 尺码索引（对应 sizes 数组中的下标）
         */
        private Integer specSize;

        /**
         * SKU售价
         */
        private BigDecimal price;
        
        /**
         * SKU库存
         */
        private Integer stock;
        
        /**
         * SKU编码
         */
        private String skuCode;
    }
}